A typical enterprise computing environment may include multiple different computing applications supporting a variety of different enterprise organizations and business purposes. For example, many enterprises, such as businesses and the like, employ various computing applications to support customer billing, sales, accounting, marketing, inventory, ordering, repairs, service, procurement, etc.
Computing applications within an enterprise computing environment may employ workflow engines configured to facilitate the flow of information, processing, tasks, input, and output associated with the computing applications. In general, a workflow engine facilitates the flow of information, processing, tasks, input, and output by detecting events, interpreting the events, and acting on the events in accordance with defined rules and/or computing processes. For example, a workflow engine may detect an event and, in response to the event, generate a task based on defined rules and/or computing processes. The task may include a task that is to be performed by the application, one or more users associated with the application, and/or one or more other computing applications. To facilitate access to and/or performance of one or more actions on a task by a user, a workflow engine and/or a computing application employing the workflow engine typically provides a user interface for access and utilization by the user to receive notification of the task, access the task, and/or perform one or more actions related to the task.
In a conventional enterprise computing environment, the various computing applications that employ workflow engines are typically discrete and/or heterogeneous in nature. The computing applications may be heterogeneous for various reasons. For example, the computing applications may provide multiple different user interfaces by which users associated with the enterprise access and perform actions associated with workflow tasks. Consequently, a user, such as an employee who is responsible for performing actions related to tasks, may receive notifications related to tasks in diverse ways and/or may be required to access multiple different user interfaces in order to perform those actions. For example, an employee may be required to login to a first computing application to access a first user interface to review and approve a request for reimbursement of an expense incurred by another employee, and to login to a second, separate computing application to access a second, separate user interface to review and approve a travel or time-off request from another employee. This is inconvenient, inefficient, and potentially confusing and burdensome for the user. Moreover, where the user interfaces are non-uniform in appearance or functionality, an inconsistent and potentially confusing user experience is produced.